[INFO] cloning repository https://github.com/andrewimm/gb-dynarec
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andrewimm/gb-dynarec" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewimm%2Fgb-dynarec", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewimm%2Fgb-dynarec'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 59153298e461ae89bde86c9f00bbf135c4d4dab0
[INFO] checking andrewimm/gb-dynarec against master#dc375db7d8df0aa450e622c529147c95eee756f5 for pr-156749
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewimm%2Fgb-dynarec" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/andrewimm/gb-dynarec
[INFO] finished tweaking git repo https://github.com/andrewimm/gb-dynarec
[INFO] tweaked toml for git repo https://github.com/andrewimm/gb-dynarec written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/andrewimm/gb-dynarec on toolchain dc375db7d8df0aa450e622c529147c95eee756f5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/andrewimm/gb-dynarec already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lazy_static v1.4.0
[INFO] [stderr]   Downloaded x11-dl v2.20.0
[INFO] [stderr]   Downloaded unicode-xid v0.2.2
[INFO] [stderr]   Downloaded pkg-config v0.3.25
[INFO] [stderr]   Downloaded strsim v0.10.0
[INFO] [stderr]   Downloaded scopeguard v1.1.0
[INFO] [stderr]   Downloaded autocfg v1.1.0
[INFO] [stderr]   Downloaded cocoa-foundation v0.1.0
[INFO] [stderr]   Downloaded wayland-sys v0.29.4
[INFO] [stderr]   Downloaded dlib v0.5.0
[INFO] [stderr]   Downloaded servo-fontconfig v0.5.1
[INFO] [stderr]   Downloaded core-graphics-types v0.1.1
[INFO] [stderr]   Downloaded cty v0.2.2
[INFO] [stderr]   Downloaded darling_core v0.13.4
[INFO] [stderr]   Downloaded scoped-tls v1.0.0
[INFO] [stderr]   Downloaded wayland-cursor v0.29.4
[INFO] [stderr]   Downloaded wio v0.2.2
[INFO] [stderr]   Downloaded darling v0.13.4
[INFO] [stderr]   Downloaded darling_macro v0.13.4
[INFO] [stderr]   Downloaded quote v1.0.9
[INFO] [stderr]   Downloaded cmake v0.1.48
[INFO] [stderr]   Downloaded memoffset v0.6.4
[INFO] [stderr]   Downloaded foreign-types-shared v0.3.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.82
[INFO] [stderr]   Downloaded vec_map v0.8.2
[INFO] [stderr]   Downloaded percent-encoding v2.1.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.82
[INFO] [stderr]   Downloaded version_check v0.9.3
[INFO] [stderr]   Downloaded adler32 v1.2.0
[INFO] [stderr]   Downloaded foreign-types v0.5.0
[INFO] [stderr]   Downloaded ident_case v1.0.1
[INFO] [stderr]   Downloaded raw-window-handle v0.4.3
[INFO] [stderr]   Downloaded dispatch v0.2.0
[INFO] [stderr]   Downloaded windows_macros v0.13.0
[INFO] [stderr]   Downloaded const-sha1 v0.2.0
[INFO] [stderr]   Downloaded ndk-context v0.1.1
[INFO] [stderr]   Downloaded instant v0.1.10
[INFO] [stderr]   Downloaded proc-macro-crate v1.0.0
[INFO] [stderr]   Downloaded num_enum v0.5.4
[INFO] [stderr]   Downloaded downcast-rs v1.2.0
[INFO] [stderr]   Downloaded xcursor v0.3.3
[INFO] [stderr]   Downloaded thiserror-impl v1.0.26
[INFO] [stderr]   Downloaded foreign-types-macros v0.2.2
[INFO] [stderr]   Downloaded ndk-glue v0.7.0
[INFO] [stderr]   Downloaded raw-window-handle v0.5.0
[INFO] [stderr]   Downloaded num_enum_derive v0.5.4
[INFO] [stderr]   Downloaded arrayref v0.3.6
[INFO] [stderr]   Downloaded adler v1.0.2
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.82
[INFO] [stderr]   Downloaded wayland-scanner v0.29.4
[INFO] [stderr]   Downloaded wayland-commons v0.29.4
[INFO] [stderr]   Downloaded arrayvec v0.5.2
[INFO] [stderr]   Downloaded crossfont v0.5.0
[INFO] [stderr]   Downloaded objc v0.2.7
[INFO] [stderr]   Downloaded libloading v0.7.0
[INFO] [stderr]   Downloaded sctk-adwaita v0.4.2
[INFO] [stderr]   Downloaded core-text v19.2.0
[INFO] [stderr]   Downloaded parking_lot_core v0.9.3
[INFO] [stderr]   Downloaded ndk-macro v0.3.0
[INFO] [stderr]   Downloaded log v0.4.14
[INFO] [stderr]   Downloaded memmap2 v0.5.7
[INFO] [stderr]   Downloaded bitflags v1.3.2
[INFO] [stderr]   Downloaded thiserror v1.0.26
[INFO] [stderr]   Downloaded core-foundation-sys v0.8.2
[INFO] [stderr]   Downloaded ndk v0.7.0
[INFO] [stderr]   Downloaded derivative v2.2.0
[INFO] [stderr]   Downloaded toml v0.5.8
[INFO] [stderr]   Downloaded core-graphics v0.22.2
[INFO] [stderr]   Downloaded redox_syscall v0.2.10
[INFO] [stderr]   Downloaded lock_api v0.4.7
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.82
[INFO] [stderr]   Downloaded smallvec v1.6.1
[INFO] [stderr]   Downloaded memchr v2.3.4
[INFO] [stderr]   Downloaded windows v0.13.0
[INFO] [stderr]   Downloaded bytemuck v1.12.1
[INFO] [stderr]   Downloaded cocoa v0.24.0
[INFO] [stderr]   Downloaded mio v0.8.4
[INFO] [stderr]   Downloaded ndk-sys v0.4.0
[INFO] [stderr]   Downloaded xml-rs v0.8.4
[INFO] [stderr]   Downloaded tiny-skia-path v0.7.0
[INFO] [stderr]   Downloaded deflate v1.0.0
[INFO] [stderr]   Downloaded crc32fast v1.3.2
[INFO] [stderr]   Downloaded dwrote v0.11.0
[INFO] [stderr]   Downloaded core-foundation v0.9.1
[INFO] [stderr]   Downloaded parking_lot v0.12.1
[INFO] [stderr]   Downloaded jni-sys v0.3.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.27
[INFO] [stderr]   Downloaded once_cell v1.13.1
[INFO] [stderr]   Downloaded js-sys v0.3.59
[INFO] [stderr]   Downloaded serde_derive v1.0.136
[INFO] [stderr]   Downloaded calloop v0.10.1
[INFO] [stderr]   Downloaded bumpalo v3.11.0
[INFO] [stderr]   Downloaded cc v1.0.73
[INFO] [stderr]   Downloaded wayland-client v0.29.4
[INFO] [stderr]   Downloaded slotmap v1.0.6
[INFO] [stderr]   Downloaded safe_arch v0.5.2
[INFO] [stderr]   Downloaded miniz_oxide v0.5.3
[INFO] [stderr]   Downloaded serde v1.0.128
[INFO] [stderr]   Downloaded png v0.17.5
[INFO] [stderr]   Downloaded freetype-rs v0.26.0
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.16.0
[INFO] [stderr]   Downloaded wayland-protocols v0.29.4
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.82
[INFO] [stderr]   Downloaded nom v6.2.1
[INFO] [stderr]   Downloaded tiny-skia v0.7.0
[INFO] [stderr]   Downloaded syn v1.0.73
[INFO] [stderr]   Downloaded nix v0.22.3
[INFO] [stderr]   Downloaded nix v0.24.2
[INFO] [stderr]   Downloaded winit v0.27.2
[INFO] [stderr]   Downloaded expat-sys v2.1.6
[INFO] [stderr]   Downloaded libc v0.2.125
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.36.1
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.36.1
[INFO] [stderr]   Downloaded windows_i686_msvc v0.36.1
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.36.1
[INFO] [stderr]   Downloaded web-sys v0.3.59
[INFO] [stderr]   Downloaded windows_i686_gnu v0.36.1
[INFO] [stderr]   Downloaded winapi v0.3.9
[INFO] [stderr]   Downloaded servo-fontconfig-sys v5.1.0
[INFO] [stderr]   Downloaded freetype-sys v0.13.1
[INFO] [stderr]   Downloaded windows-sys v0.36.1
[INFO] [stderr]   Downloaded windows_gen v0.13.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b9857e840481568bf68fd7d2a5a72a9ef797b720d568f4d425f39357843cc9e5
[INFO] running `Command { std: "docker" "start" "b9857e840481568bf68fd7d2a5a72a9ef797b720d568f4d425f39357843cc9e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b9857e840481568bf68fd7d2a5a72a9ef797b720d568f4d425f39357843cc9e5" "/opt/rustwide/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b9857e840481568bf68fd7d2a5a72a9ef797b720d568f4d425f39357843cc9e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b9857e840481568bf68fd7d2a5a72a9ef797b720d568f4d425f39357843cc9e5" "/opt/rustwide/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.125
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling gb-dynarec v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling x11-dl v2.20.0
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/devices/video/mod.rs:370:52
[INFO] [stdout]     |
[INFO] [stdout] 370 |                     self.object_line_cache[offset] = (
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 371 | |                     0x80 | // present
[INFO] [stdout]     | |____________________^
[INFO] [stdout] ...
[INFO] [stdout] 374 |                       color_index
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 375 | |                   );
[INFO] [stdout]     | |___________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 370 ~                   self.object_line_cache[offset] = 0x80 | // present
[INFO] [stdout] 371 |                     priority |
[INFO] [stdout] 372 |                     palette |
[INFO] [stdout] 373 ~                     color_index ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `can_dynarec`
[INFO] [stdout]  --> src/emulator.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::mem::{MemoryAreas, can_dynarec, memory_write_byte, memory_write_word};
[INFO] [stdout]   |                               ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/shell/headless.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::emulator::{self, Core};
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/devices/video/mod.rs:370:52
[INFO] [stdout]     |
[INFO] [stdout] 370 |                     self.object_line_cache[offset] = (
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 371 | |                     0x80 | // present
[INFO] [stdout]     | |____________________^
[INFO] [stdout] ...
[INFO] [stdout] 374 |                       color_index
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 375 | |                   );
[INFO] [stdout]     | |___________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 370 ~                   self.object_line_cache[offset] = 0x80 | // present
[INFO] [stdout] 371 |                     priority |
[INFO] [stdout] 372 |                     palette |
[INFO] [stdout] 373 ~                     color_index ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `can_dynarec`
[INFO] [stdout]  --> src/emulator.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::mem::{MemoryAreas, can_dynarec, memory_write_byte, memory_write_word};
[INFO] [stdout]   |                               ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/shell/headless.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::emulator::{self, Core};
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]   --> src/cache/mod.rs:99:42
[INFO] [stdout]    |
[INFO] [stdout] 99 |   pub fn translate_code_block(&mut self, code: &Box<[u8]>, ip: usize, mem: *const MemoryAreas) -> usize {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cache/mod.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let mut entry = dirty_flags[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/cart.rs:147:27
[INFO] [stdout]     |
[INFO] [stdout] 147 |   fn write_rom(&mut self, addr: u16, value: u8) {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/cart.rs:147:38
[INFO] [stdout]     |
[INFO] [stdout] 147 |   fn write_rom(&mut self, addr: u16, value: u8) {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/cart.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |   fn get_ram_override(&self, addr: u16) -> Option<u8> {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/cart.rs:228:30
[INFO] [stdout]     |
[INFO] [stdout] 228 |   fn get_ram_override(&self, addr: u16) -> Option<u8> {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_ip`
[INFO] [stdout]   --> src/emulator.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let old_ip = self.registers.ip as u16;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 |   let mut core = match get_file_arg().and_then(load_rom) {
[INFO] [stdout]    |       ----^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_usage` is never used
[INFO] [stdout]   --> src/main.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn print_usage() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `packet_type` and `body` are never read
[INFO] [stdout]  --> src/debug/protocol.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Packet {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 4 |   packet_type: PacketType,
[INFO] [stdout]   |   ^^^^^^^^^^^
[INFO] [stdout] 5 |   body: Box<[u8]>,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AL` is never constructed
[INFO] [stdout]     --> src/emitter/x86_64.rs:2459:3
[INFO] [stdout]      |
[INFO] [stdout] 2457 | enum X86Reg8 {
[INFO] [stdout]      |      ------- variant in this enum
[INFO] [stdout] 2458 |   AH,
[INFO] [stdout] 2459 |   AL,
[INFO] [stdout]      |   ^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `X86Reg8` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RAX`, `RBX`, and `RCX` are never constructed
[INFO] [stdout]     --> src/emitter/x86_64.rs:2479:3
[INFO] [stdout]      |
[INFO] [stdout] 2478 | enum X86Reg64 {
[INFO] [stdout]      |      -------- variants in this enum
[INFO] [stdout] 2479 |   RAX,
[INFO] [stdout]      |   ^^^
[INFO] [stdout] 2480 |   RBX,
[INFO] [stdout]      |   ^^^
[INFO] [stdout] 2481 |   RCX,
[INFO] [stdout]      |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1787:66
[INFO] [stdout]      |
[INFO] [stdout] 1787 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1787 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1846:67
[INFO] [stdout]      |
[INFO] [stdout] 1846 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1846 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1891:67
[INFO] [stdout]      |
[INFO] [stdout] 1891 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1891 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1936:67
[INFO] [stdout]      |
[INFO] [stdout] 1936 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_word as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1936 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_word as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1974:67
[INFO] [stdout]      |
[INFO] [stdout] 1974 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1974 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2012:66
[INFO] [stdout]      |
[INFO] [stdout] 2012 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2012 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2050:67
[INFO] [stdout]      |
[INFO] [stdout] 2050 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2050 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2089:66
[INFO] [stdout]      |
[INFO] [stdout] 2089 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2089 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2128:67
[INFO] [stdout]      |
[INFO] [stdout] 2128 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_word as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2128 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_word as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2177:66
[INFO] [stdout]      |
[INFO] [stdout] 2177 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_word as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2177 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_word as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2237:66
[INFO] [stdout]      |
[INFO] [stdout] 2237 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2237 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2273:67
[INFO] [stdout]      |
[INFO] [stdout] 2273 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2273 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2310:66
[INFO] [stdout]      |
[INFO] [stdout] 2310 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2310 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]   --> src/cache/mod.rs:99:42
[INFO] [stdout]    |
[INFO] [stdout] 99 |   pub fn translate_code_block(&mut self, code: &Box<[u8]>, ip: usize, mem: *const MemoryAreas) -> usize {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cache/mod.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let mut entry = dirty_flags[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/cart.rs:147:27
[INFO] [stdout]     |
[INFO] [stdout] 147 |   fn write_rom(&mut self, addr: u16, value: u8) {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/cart.rs:147:38
[INFO] [stdout]     |
[INFO] [stdout] 147 |   fn write_rom(&mut self, addr: u16, value: u8) {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/cart.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |   fn get_ram_override(&self, addr: u16) -> Option<u8> {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/cart.rs:228:30
[INFO] [stdout]     |
[INFO] [stdout] 228 |   fn get_ram_override(&self, addr: u16) -> Option<u8> {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/devices/video/mod.rs:655:9
[INFO] [stdout]     |
[INFO] [stdout] 655 |     let mut oam = oam_vec.into_boxed_slice();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/devices/video/mod.rs:689:9
[INFO] [stdout]     |
[INFO] [stdout] 689 |     let mut oam = oam_vec.into_boxed_slice();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_ip`
[INFO] [stdout]   --> src/emulator.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let old_ip = self.registers.ip as u16;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 |   let mut core = match get_file_arg().and_then(load_rom) {
[INFO] [stdout]    |       ----^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_usage` is never used
[INFO] [stdout]   --> src/main.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn print_usage() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `packet_type` and `body` are never read
[INFO] [stdout]  --> src/debug/protocol.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Packet {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 4 |   packet_type: PacketType,
[INFO] [stdout]   |   ^^^^^^^^^^^
[INFO] [stdout] 5 |   body: Box<[u8]>,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AL` is never constructed
[INFO] [stdout]     --> src/emitter/x86_64.rs:2459:3
[INFO] [stdout]      |
[INFO] [stdout] 2457 | enum X86Reg8 {
[INFO] [stdout]      |      ------- variant in this enum
[INFO] [stdout] 2458 |   AH,
[INFO] [stdout] 2459 |   AL,
[INFO] [stdout]      |   ^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `X86Reg8` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RAX`, `RBX`, and `RCX` are never constructed
[INFO] [stdout]     --> src/emitter/x86_64.rs:2479:3
[INFO] [stdout]      |
[INFO] [stdout] 2478 | enum X86Reg64 {
[INFO] [stdout]      |      -------- variants in this enum
[INFO] [stdout] 2479 |   RAX,
[INFO] [stdout]      |   ^^^
[INFO] [stdout] 2480 |   RBX,
[INFO] [stdout]      |   ^^^
[INFO] [stdout] 2481 |   RCX,
[INFO] [stdout]      |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1787:66
[INFO] [stdout]      |
[INFO] [stdout] 1787 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1787 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1846:67
[INFO] [stdout]      |
[INFO] [stdout] 1846 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1846 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1891:67
[INFO] [stdout]      |
[INFO] [stdout] 1891 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1891 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1936:67
[INFO] [stdout]      |
[INFO] [stdout] 1936 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_word as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1936 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_word as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:1974:67
[INFO] [stdout]      |
[INFO] [stdout] 1974 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1974 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2012:66
[INFO] [stdout]      |
[INFO] [stdout] 2012 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2012 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2050:67
[INFO] [stdout]      |
[INFO] [stdout] 2050 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2050 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2089:66
[INFO] [stdout]      |
[INFO] [stdout] 2089 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2089 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2128:67
[INFO] [stdout]      |
[INFO] [stdout] 2128 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_word as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2128 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_word as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2177:66
[INFO] [stdout]      |
[INFO] [stdout] 2177 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_word as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2177 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_word as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2237:66
[INFO] [stdout]      |
[INFO] [stdout] 2237 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2237 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2273:67
[INFO] [stdout]      |
[INFO] [stdout] 2273 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as u64);
[INFO] [stdout]      |                                                                   ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2273 |   let fn_pointer = address_as_bytes(crate::mem::memory_write_byte as *const () as u64);
[INFO] [stdout]      |                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/emitter/x86_64.rs:2310:66
[INFO] [stdout]      |
[INFO] [stdout] 2310 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as u64);
[INFO] [stdout]      |                                                                  ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 2310 |   let fn_pointer = address_as_bytes(crate::mem::memory_read_byte as *const () as u64);
[INFO] [stdout]      |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.36s
[INFO] running `Command { std: "docker" "inspect" "b9857e840481568bf68fd7d2a5a72a9ef797b720d568f4d425f39357843cc9e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9857e840481568bf68fd7d2a5a72a9ef797b720d568f4d425f39357843cc9e5", kill_on_drop: false }`
[INFO] [stdout] b9857e840481568bf68fd7d2a5a72a9ef797b720d568f4d425f39357843cc9e5
